$LOAD_PATH.unshift File.join(File.dirname(__FILE__),'../..','ext_pr1/lib')
require 'ext_pr1_v4'

#Einfach mehrfach rekursion:

def sum(n)
  n==0 ? n : n+sum(n-1)
end

#puts(sum(10))

#Potenzen

def pot(n,e)
  if e==0 then n=1
  else  
  e==1 ?  n : n * pot(n,e-1)
  end
end

#puts(pot(10,3))

#fibonacci

def fibo(n)
  if n==0 then 0
  elsif n==1 then 1
  else
    fibo(n-1) + fibo(n-2)
  end
end

#puts(fibo(12))

#Die drei oben als Endrekursion

def sum_endrec(n)
  sum_endrec_(0,n)
end

def sum_endrec_(akku,n)
  n==0 ? akku : sum_endrec_(akku + n,n-1)
end

#puts(sum_endrec(10))

#potenz

def potenz_endrec(n,e)
  potenz_endrec_(n,n,e)
end

def potenz_endrec_(akku,n,e)
  e==1 ? akku : potenz_endrec_(n*akku,n,e-1)
end

#puts(potenz_endrec(3,3))

#Listen umdrehen

def list_endrec(list)
  list.empty? ? list : list_endrec()
end